package com.ocom.common.entity.srvpaccess;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * xf_device_info
 * @author 
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName(value = "xf_device_info")
public class XfDeviceInfo implements Serializable {
    /**
     * 设备编号（出厂号） 主键
     */
    @TableId(type = IdType.NONE)
    private String deviceNo;

    /**
     * 单位编号
     */
    private Integer comId;

    /**
     * 设备名称
     */
    private String deviceName;

    /**
     * 收费点id，最后一级收费点
     */
    private Integer pointId;

    /**
     * 设备类型，1：安卓机，2：单片机
     */
    private Byte deviceType;

    /**
     * 设备机型，1：消费机，2：发卡机，3：控卡机，4：订餐机
     */
    private Byte deviceVerType;

    /**
     * 启用状态，0：启用，1：弃用（新注册未验证
     */
    private Byte status;

    /**
     * 设备模式,1强在线（安全性高），2在线转离线，3离线转在线（反应快），4离线（省电）
     */
    private Byte deviceMode;

    /**
     * 使用期限
     */
    private Date endTime;

    /**
     * 备注
     */
    private String remark;

    /**
     * 生成时间
     */
    private Date createTime;

    /**
     * 创建人
     */
    private String createUser;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 更新人
     */
    private String updateUser;

    /**
     * 白名单（增加）已下传版本，-1表示要全量下传名单
     */
    private Integer listAdd;

    /**
     * 白名单（增加）下传标识，-1表示不是增加操作
     */
    private Integer listAddTab;

    /**
     * 白名单（删除）已下传版本
     */
    private Integer listDelete;

    /**
     * 白名单（删除）下传标识，-1表示不是删除操作
     */
    private Integer listDeleteTab;

    /**
     * 白名单是否需要下传 0：不需要，1：需要
     */
    private Byte listState;

    /**
     * 秘钥状态
     */
    private Byte rsaState;

    /**
     * 下传标识
     */
    private String rsaJobid;

    /**
     * 参数状态
     */
    private Byte paraState;

    /**
     * 下传标识
     */
    private String paraJobid;

    /**
     * 设备当前版本(设备上报)
     */
    private String appVer;

    /**
     * 最后通讯时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+08")
    private Date commTime;

    /**
     * 绑定aiot平台编号
     */
    private String aiotNo;

    /**
     * 收费类型，0：随机收费，1：定值收费，2：按餐段定值收费
     */
    private Byte tollType;

    /**
     * 在线单次最大消费金额,0：不限制;消费类型为定值收费时为在线定值金额，必填>0
     */
    private Integer oneAmountOn;

    /**
     * 离线单次最大消费金额,0：不限制，-1：不允许离线消费;消费类型为定值收费时为离线定值金额。
     */
    private Integer oneAmountOff;

    /**
     * 离线最大消费金额,0：不限制，-1：不允许离线消费
     */
    private Integer allAmountOff;

    private static final long serialVersionUID = 1L;

}